#include "Common/CommonColor.h"

FString UELColorUtil::GetHexColorByType(EColorType ColorType)
{
	FString ColorResult;
	switch (ColorType)
	{
		case EColorType::EL_Transparent:		ColorResult = "#00000000"; break;
		case EColorType::EL_Black:				ColorResult = "#000000"; break;
		case EColorType::EL_White:				ColorResult = "#ffffff"; break;
		case EColorType::EL_BG:					ColorResult = "#f3f4f6"; break;
		case EColorType::EL_Primary_Normal: 	ColorResult = "#2979ff"; break;
		case EColorType::EL_Primary_Dark:		ColorResult = "#2b85e4"; break;
		case EColorType::EL_Primary_Disable:	ColorResult = "#a0cfff"; break;
		case EColorType::EL_Primary_Light:		ColorResult = "#ecf5ff"; break;
		case EColorType::EL_Success_Normal: 	ColorResult = "#19be6b"; break;
		case EColorType::EL_Success_Dark:		ColorResult = "#18b566"; break;
		case EColorType::EL_Success_Disable:	ColorResult = "#71d5a1"; break;
		case EColorType::EL_Success_Light:		ColorResult = "#dbf1e1"; break;
		case EColorType::EL_Warning_Normal: 	ColorResult = "#ff9900"; break;
		case EColorType::EL_Warning_Dark:		ColorResult = "#f29100"; break;
		case EColorType::EL_Warning_Disable:	ColorResult = "#fcbd71"; break;
		case EColorType::EL_Warning_Light:		ColorResult = "#fdf6ec"; break;
		case EColorType::EL_Error_Normal:		ColorResult = "#fa3534"; break;
		case EColorType::EL_Error_Dark:			ColorResult = "#dd6161"; break;
		case EColorType::EL_Error_Disable:		ColorResult = "#fab6b6"; break;
		case EColorType::EL_Error_Light:		ColorResult = "#fef0f0"; break;
		case EColorType::EL_Info_Normal:		ColorResult = "#909399"; break;
		case EColorType::EL_Info_Dark:			ColorResult = "#82848a"; break;
		case EColorType::EL_Info_Disable:		ColorResult = "#c8c9cc"; break;
		case EColorType::EL_Info_Light:			ColorResult = "#f4f4f5"; break;
		case EColorType::EL_Word_Main:			ColorResult = "#303133"; break;
		case EColorType::EL_Word_Routine:		ColorResult = "#606266"; break;
		case EColorType::EL_Word_Secondary:		ColorResult = "#909399"; break;
		case EColorType::EL_Word_Placeholder:	ColorResult = "#c0c4cc"; break;
		case EColorType::EL_Border_First:		ColorResult = "#dcdfe6"; break;
		case EColorType::EL_Border_Second:		ColorResult = "#e4e7ed"; break;
		case EColorType::EL_Border_Third:		ColorResult = "#ebeef5"; break;
		case EColorType::EL_Border_Fourth:		ColorResult = "#f2f6fc"; break;
	}
	return ColorResult;
}

FColor UELColorUtil::GetColorByType(EColorType ColorType)
{
	return FColor::FromHex(GetHexColorByType(ColorType));
}

FLinearColor UELColorUtil::GetLinearColorByType(EColorType ColorType)
{
	return FLinearColor(GetColorByType(ColorType));
}
